1
Оптимизация сборки: Понимание профилей выпуска
AI034Lesson 14
00:00

В языке программирования Rust, профили выпуска представляют собой заранее заданные конфигурации, которые позволяют разработчикам контролировать компромисс между временем компиляции и производительностью во время выполнения. Настройка этих параметров позволяет адаптировать поведение компилятора под ваш текущий рабочий процесс — будь то быстрая итерация или производственная развертывание.

1. Профили разработки и выпуска

Cargo имеет два основных профиля: dev (используется при cargo build) и release (используется при cargo build --release). Профиль разработки оптимизирован для быстрой компиляции, но приводит к более медленному выполнению кода, в то время как профиль выпуска тратит больше времени на оптимизацию машинного кода для максимальной эффективности.

2. Настройка уровня оптимизации

Настройка opt-level настройка является основным средством контроля производительности. Она варьируется от 0 до 3:

  • 0: Без оптимизации. Быстрая сборка, медленный код. (По умолчанию для dev)
  • 1–2: Средние оптимизации.
  • 3: Агрессивные оптимизации. Медленная сборка, самый быстрый код. (По умолчанию для release)
  • "s" или "z": Оптимизирует размер бинарного файла вместо скорости.
ПрофильУровень оптимизации по умолчаниюЦель
dev0Быстрая итерация
release3Производительность в релизе

3. Настройка профилей

Вы можете переопределить эти значения по умолчанию в файле Cargo.toml. Это полезно, когда неоптимизированный код слишком медленный для тестирования (например, при сложных симуляциях), но полная сборка релиза занимает слишком много времени.

[profile.dev]
opt-level = 1 # Более быстрый код, чем уровень 0, при этом сборка остаётся быстрой
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>